home *** CD-ROM | disk | FTP | other *** search
/ Professional Soft Collection 1.02 / Professional Soft Collection 1.02.iso / archivat / tron / tron.doc < prev    next >
Text File  |  1996-01-26  |  22KB  |  510 lines

  1. ┌────────────────────────────────────────────────────────────────────────────┐
  2. │                      TRON V1.20  PROGRAM INFORMATION                       │
  3. └────────────────────────────────────────────────────────────────────────────┘
  4.  
  5.    Programmed by the SMILESOFT Company (Germany)
  6.  
  7.    The SMILESOFT COMPANY consists of three 18-20 year old coders!
  8.  
  9. ───────────────────────────────────────────────────────────────────────────────
  10. Sections
  11. ───────────────────────────────────────────────────────────────────────────────
  12.  
  13. 1.  What is Tron
  14. 2.  Requirements
  15. 3.  Language
  16. 4.  Technical infos
  17. 5.  Options
  18. 6.  The universal expander
  19. 7.  Help on errors
  20. 8.  Syntax
  21. 9.  Infos on compressors
  22. 10. Greetings
  23.  
  24. ───────────────────────────────────────────────────────────────────────────────
  25. 1. What is Tron?
  26. ───────────────────────────────────────────────────────────────────────────────
  27.  
  28. Tron is an decompressor for files packed with compressors like
  29. PKLITE or DIET. In case you don't know, such programs use different
  30. data compression routines to make a file smaller. Files which
  31. were compressed with one of these pack programs will still stay
  32. executable for the system but they will be much smaller. Another
  33. reason for compressing is that a second person has no chance
  34. to change any bytes inside a compressed program with a hex editor
  35. or something like that. But this feature has disadvantages, too.
  36. For example a virus scanner is not able to detect a virus under
  37. the compression structure. And on some systems a decompression routine
  38. wastes a lot of time (8086 or lower, hehe). It might also be possible
  39. that you use a program like stacker to compress your hardisk, in this
  40. case the stacker compression makes the file bigger than it was before.
  41.  
  42. These are the primary reasons why we decided to write Tron.
  43. Tron itself is able to decompress most common packers as there are
  44. PKLITE, DIET, LZEXE, TINY, etc..we have written unpacking routines
  45. for the most used packers today, we will not support scrambler's
  46. which are spreaded in local areas or special crypt code for intros
  47. because it's hardly to believe that you get ever in touch with such
  48. programs. If you have one and you are a registered user and the
  49. universal expander cannot handle it then send the concerned file
  50. to us, we will immediately return it unprotected.
  51.  
  52. Some of the compression programs supported by tRON have a build in
  53. expand function! But for insiders it is no problem to trick this
  54. functions out! Simply change the header signature "MZ" into "ZM" and
  55. the original programs cannot handle their own files any longer. The
  56. header signature can be found at the start of an EXE file!
  57. And this is only one of many known possibilities.
  58.  
  59. To use the universal expander on compressed or protected exe files you must
  60. register first. The rebuilding code for the relocation entrys is disabled
  61. in the unregistered version. The activation code for the protected mode
  62. unit is also skipped. It might also be possible that the next versions of
  63. tRON will only be spreaded to registered users to avoid hackers from
  64. searching backdoors in the unpacking system. This is because tron was
  65. written for our own purposes and should not be avaiable to coders of
  66. encryption or compression programs. However it is we decided to
  67. release this version of tRON to the public.
  68.  
  69. Although tRON has been tested on several systems, we cannot guarantee that
  70. tRON will be without bugs.  Therefore, we do not take responsibility for any
  71. damage directly or indirectly caused by tRON as a result of known or
  72. unknown errors in it.
  73.  
  74.  
  75. ───────────────────────────────────────────────────────────────────────────────
  76. 2. What do we need to run TRON?
  77. ───────────────────────────────────────────────────────────────────────────────
  78.  
  79. - 640 Kb Memory  (Tron needs 16-21 Kb of the system memory)
  80. - EGA/VGA/HGC
  81. - MS-DOS 3.3+
  82. - 80286+ (normal modus, real mode universal expander)
  83. - 80386+ (protected mode universal expander)
  84. - a compressed file
  85.  
  86.  
  87. ───────────────────────────────────────────────────────────────────────────────
  88. 3. Language
  89. ───────────────────────────────────────────────────────────────────────────────
  90.  
  91. Pure HARDCORE Assembler! What else? 16 & 32 bit technology!
  92.  
  93. ───────────────────────────────────────────────────────────────────────────────
  94. 4. Technical Infos
  95. ───────────────────────────────────────────────────────────────────────────────
  96.  
  97. First tron uses DOS to load a file into memory. After loading, it searches
  98. for the presence of a packing code.  Is such a routine discovered, tron
  99. makes some changes to the original compression code, through this changes
  100. the pack routine tells tron what it had to know about the file, for example
  101. the informations needed to rebuild the original header or the expanded size
  102. and the relocation items. If the compressors make no trouble, the file can be
  103. written back to disk without problems.
  104.  
  105.  
  106. ───────────────────────────────────────────────────────────────────────────────
  107. 5. Options
  108. ───────────────────────────────────────────────────────────────────────────────
  109.  
  110. -i = info only
  111.      If you just want to know if a file is packed or with which packer it
  112.      was compressed, then use this option.
  113.      Using this option tron will not try to decompress the file.
  114.  
  115. -e = expand to header size
  116.      Normally TRON tries to make the smallest possible EXE-File.
  117.      But most linkers allign the header on a sector (512 Bytes).
  118.      In some cases these files can be loaded faster because DOS is
  119.      only able to read a whole sector into memory.
  120.      (1 Sector has 512 Bytes), figger it out!
  121.  
  122. -x   No diverting of Interrupts
  123.      This can be used if TRON aborts unpacking through the call of an
  124.      system-interrupt! Normally this shows that an expanded program has
  125.      begin to operate! If you skip the interrupt diverting the file is
  126.      normally executed without checking for illegal interrupt calls!
  127.      This can be useful on files you want to expand with the univeral
  128.      expander or if the protection code calls interrupts (like PGM-PACK)!
  129.      Warning! In some cases it is possible that a file under these
  130.      circumstances is EXECUTED! Don't use this on virus infected files!
  131.  
  132. -u = real mode universal expander with user variable filesize and expand
  133.      breakpoint etc. or autodetection if nothing is entered.
  134.  
  135. -p = protected mode universal expander with user variable filesize and program
  136.      start! This option is for files which use debugger fooling code!
  137.      Like using the single-step interrupt or divide by 0 and so on.
  138.      Totally disabled in the unregistered version. Needed to unpack
  139.      Protect! 4.00 5.00 EXE and COM files.
  140.  
  141. ───────────────────────────────────────────────────────────────────────────────
  142. 6. The universal expander    (most functions are disabled in public version)
  143. ───────────────────────────────────────────────────────────────────────────────
  144.  
  145. This is really a nice thing! You are now able to unpack almost every file
  146. which uses standard compression or special encryption code. Via the single
  147. step interrupt of the CPU, Tron traces through the hole code of a program.
  148. If some circumstances are given tron assumes that the protection has
  149. disappeared and the original program code is now in the memory.
  150. With a little trick we succeded in rebuilding the orignal header of the
  151. file. First we had problems to recover all relocation entrys on exe files,
  152. but now this works very well. The file length cannot be exactly determined,
  153. on most files there is a difference from 0 Bytes to 2 KBytes more as the
  154. original file has. To solve this problem you are prompted to enter a
  155. filesize. If nothing is entered tron uses an estimated size.
  156. You can also enter a breakpoint where execution stops or an opcode
  157. dependent breakpoint if tron doesn't stop at the right instruction.
  158. If you don't enter anything TRON switches into autodetection mode.
  159. In the unregistered version of tron you are only able to use the real mode
  160. unit, also the relocations can not be rebuilded unregistered.
  161.  
  162.  
  163.  
  164. IMPORTANT:
  165. If you are not a programmer or assembly coder you should only change the
  166. filesize when you are prompted for!
  167.  
  168.  
  169. Effect rate on debugging traps:
  170.  
  171. uni expand method    │ tron (1.20)  │ possible in further versions
  172. ─────────────────────┼──────────────┼──────────────────────────────
  173. real mode            │  2 %         │  3 %
  174. protected mode       │ 35 %         │ 90 %
  175.  
  176. We know about 3 technics to fool this tron version, we don't hope you'll get
  177. in touch with such a beast. Also we have some trouble with the IRQ redircection
  178. from protected to real mode. It would be nice if we get some facts about
  179. this. I can't understand that an Interrupt 09 is either an IRQ 0 or an
  180. exception interrupt. Two functions with calling one interrupt?
  181.  
  182.  
  183. 6.1 User defined breakpoint (relative to CS:0000h)
  184.  
  185. Usefull if a an expanded files hangs because the autodetection of tron
  186. has failed (possible on very small files).
  187.  
  188. The breakpoint is the first instruction of the expanded file!
  189. (after the last instruction of the compression code)
  190.  
  191. 6040:0010 ...................... (first instruction of the packer)
  192. 6040:0015 decompression code
  193. 6040:0018 ..........
  194. 6040:001A ........
  195.           ......
  196. 6040:024D retf                   (last instruction of the packer)
  197.            |                     (starts the original file)
  198.            |
  199.           \ /
  200. 6000:000A mov   dx,5824 <-+      (first instruction of the expanded file)
  201. 6000:000D mov   ds,dx     |
  202.                           + ---  breakpoint should be here
  203.  
  204. (6040h-6000h=40h)
  205.  
  206. The breakpoint adress is relativ to CS:0000! CS stays for the first
  207. value of the CPU-CS-segment register at the start of a program.
  208.  
  209. Tron assumes that you enter a hexadecimal value.
  210. At the above program a correct entry would look this way:
  211.  
  212. Enter breakpoint (relativ to CS:0000h): CS-40h:000Ah
  213.  
  214.  
  215. This types of input strings will be accepted:
  216.  
  217. 1. CS:120h     =  CS:120         (numbers are always assumed as hex format)
  218. 2. CS+10:120   =  CS+10h:120h
  219. 3: CS-10:120   =  CS-10h:120h
  220.  
  221.  
  222. 6.2 User defined breakpoint times  (decimal)
  223.  
  224. Every time the breakpoint is reached this value is decremented by
  225. 1 until it is 0. Usefull if your breakpoint has the same adress like
  226. a instruction of a compression code. If nothing is entered the default
  227. value is 1. This variable is assumed as a decimal variable and is not
  228. used in autodetection mode. If you have entered an breakpoint opcode (5.3)
  229. this value is only decremented if the first instruction byte matches with
  230. your opcode.
  231.  
  232.  
  233. 6.3 User defined breakpoint opcode (Hexadecimal)
  234.  
  235. To make really sure that the breakpoint is the right you can enter the
  236. first opcode of the breakpoint instruction.
  237.  
  238.  
  239. ───────────────────────────────────────────────────────────────────────────────
  240. 7. Help on univeral expander errors
  241. ───────────────────────────────────────────────────────────────────────────────
  242.  
  243. What should I do if
  244.  
  245. 1.   the expanded program hangs?
  246.    - the estimated file size is to short. Some code is missing at the end.
  247.      you can enter a bigger filesize if you are prompted for.
  248.    - maybe tron has determined a wrong breakpoint, so enter one on your own.
  249.      if you have no knowledge about assembler you must finish here.
  250.    - the program wasn't packed or protected before using tron so there is no
  251.      need of trying to unpack it
  252.    - the program makes a crc-check and hangs on mismatch, use your debugger!
  253.    - the program uses some bad tricks, use the protected mode unit (-u)
  254.      and try again.
  255.  
  256. 2.   the message "Aborting due to call of interrupt" is shown?
  257.    - Look if the program is really crypted or compressed. If you are
  258.      absolutely sure that the interrupt was called through the compression
  259.      code, add the -X option on the command line and try again. This
  260.      is very usefull on compressors like PgmPack or Sea-Axe.
  261.  
  262. 3.   the message "Access to single step int requested" is shown?
  263.    - The program tries to hook the interrupt tron uses to step through
  264.      the code, in this case use the protected mode unit for unpacking.
  265.  
  266. 4.   tron hangs up in real mode   (Uohhh...very nasty)
  267.    - the program has found a backdoor in tron and elimated it.
  268.    - the program uses some anti-debugging stuff tron can't deal with.
  269.    - the program has hooked INT 01 in a strange way and tron is left
  270.      alone...(merde)
  271.      In all three cases try to use the -u command to skip anti-debugging
  272.      instructions.
  273.  
  274. 5.   tron hangs up in protected mode
  275.    - there is a bug inside tron
  276.      this might be possible due to the fact that we didn't have a debugger
  277.      to test our protected mode procedures. This is really a big problem,
  278.    - the program uses anti-debugging code that can't be handled by the
  279.      virtual task system of tron at this time.
  280.    - wait for improvment of this unit
  281.  
  282. ───────────────────────────────────────────────────────────────────────────────
  283. 8. Syntax
  284. ───────────────────────────────────────────────────────────────────────────────
  285.  
  286. usage: TRON [options] [c:][\path]Infile [[c:][\path]Outfile]
  287.  
  288. The default extension for the expanded file is *.exp
  289.  
  290. For example:
  291.  
  292. The Command: TRON SMILE.EXE [Return]   generates two files:
  293.  
  294.               - Smile.exe    | the expanded EXE file
  295.                              | (the file decompressed with tron)
  296.  
  297.               - Smile.bak    | the orginal file
  298.                              | (the compressed file)
  299.  
  300.  
  301.  
  302. ───────────────────────────────────────────────────────────────────────────────
  303. 9. Notes on different encrypting & packing routines
  304. ───────────────────────────────────────────────────────────────────────────────
  305.  
  306. 1. Protect! EXE / COM
  307.    Known: 1.00, 2.00, 3.00, 4.00, (5.00)
  308.    Tron isn't able to detect COM files protected with v5.00 because
  309.    of the very good mutation of the code! Our routine succeded on
  310.    99% of the files but there may be other COM files which have the
  311.    same structure without beeing protected, and so this routine
  312.    is very messy! If you have a short routine which is able to detect
  313.    the 4.0 and 5.0 files correctly please contact us.
  314.  
  315.     All versions before 3.0 were a joke. However, v3.0 is somewhat
  316.     improved. There are few, simple anti debugging tricks. From v4.0+
  317.     there are some major changings. It seems that the author has coded
  318.     round the clock to do this! Improvements are the mutation of the
  319.     structur and debugger fooling code inside the decrypting routine.
  320.     It would take a long time to code an correct unpacker for that,
  321.     because we would have to test all mutations with the unpacking scheme,
  322.     that's too much work. If you are a REGISTERED user you can unprotect them
  323.     with the protected mode unpacking unit of TRON (-p)!
  324.     (Hehe, yeahh Jeremy, try something else, nice cat and mouse game,
  325.     really good idea with the mutation, don't think that a normal unpacking
  326.     program will be able to open 100% of the v5.00+ files.) Just make a new
  327.     version, but remember, we can do the same! If your program runs under
  328.     windows, the next tron version will defeat your protection.
  329.  
  330.     And to all users of Protect!
  331.     No software protection will be total secure!
  332.     Don't use a compression code under the protect structure. Only compress
  333.     after a file is protected. It takes one minute to get the original file if
  334.     a known packer was used. (otherwise it takes two)
  335.  
  336.     hey Jeremy, v5.0 is really a cool program!
  337.  
  338.     By Jeremy Lilley.
  339.     (Scramble, .EXE .COM, 4.0+ very nasty)
  340.  
  341.  
  342. 2. ICE  (Special)
  343.    Known: 1.00 (Released 1988)
  344.    ICE is a program which scramples and compresses COM files
  345.    (not EXE files) yet allows them to be fully functional. The program
  346.    makes it difficult to alter the orginal program and it has the added
  347.    bonus of compressing COM files without detracting from their usefulness.
  348.    ICEd COM files still run as they did before ICE offers protection
  349.    agains viruses in that ICE can scramble COMMAND.COM and make it difficult
  350.    for viruses to attach themselves to the scramble program.
  351.    By Keith P. Graham
  352.    (Scramble, .COM only, easy to hack)
  353.  
  354.  
  355. 3. TinyProg (Generic)
  356.    Known: Tiny 1.0, 3.3, 3.8, 3,9
  357.    Tested on Tiny 3.3, 3.8, 3.9 with password and Data Header!
  358.    Should also open Tinys with text inside or kind like that.
  359.    To open a "tiny" with a password, you should know the password.
  360.    Also, a new kind of tinys with large text files in them is supported.
  361.    Newer Tiny Versions 3.8+ have a smart anti debugging routine in them
  362.    We are searching for TinyProg v3.5 and v3.6!
  363.    By Tranzoa, Co.
  364.    (Compress, CRC check, .EXE only, good)
  365.  
  366. 3.1 PkTiny (Tiny)
  367.     Pktiny is a simple program which puts a pklite header into a tinyprogged
  368.     file. Then it modifies the file in a way that an unpacker isn't able
  369.     to correctly determine the size of the tiny user data area.
  370.     I am not sure why the program uses a pklite header because no unpacker
  371.     known to me identifys pklite compression on such files.
  372.     By Thomas Mönkemeyer
  373.     (Fooling, .EXE .COM, nice)
  374.  
  375.  
  376. 4. EXE Pack (Generic)
  377.    Known: 3.60, 3.64, 3.65, 4.00, 5.31.009
  378.    There are plenty of ExePack versions. Tron knows about 5 of them.
  379.    They are all less effective, sometimes the ouputfile gets bigger
  380.    than the orginal one. This is a small joke.
  381.    By MicroSoft corp.
  382.    (Compress, .EXE only, old and deffective)
  383.  
  384.  
  385. 5. LZEXE (Generic)
  386.    Known: 0.90, 0.91
  387.    No mutations found.  Makes CRC checked and packed EXE-Files.
  388.    By Fabrice Bellard.
  389.    (Compress, .EXE only, old and freeware)
  390.  
  391.  
  392. 6. PKLite (Generic)
  393.    Known: 1.00(ß), 1.03, 1.05, 1.10, 1.12, 1.13, 1.14, 1.15, 1.20
  394.    From 1.14+ PkWare added a small encryption routine inside the registered
  395.    Version to make Pklited files harder to extract!
  396.    Pklite is the most used compressor today, there are a lot of hacks
  397.    circulating. In some boards pklite 1.20 was declared to be a hack,
  398.    but we think it's an official version now! Version 1.20 of Pklite has a
  399.    different encryption routine.
  400.    By PKWare (Phil Katz's).
  401.    (Compress, EXE & COM, the best compression)
  402.  
  403.  
  404. 7. PROPACKER (Special)
  405.    Known: 2.08 Emphasis on packed size
  406.                Emphasis on packed size, locked
  407.    By Rob Northern Computing, UK.
  408.    (Compress, .EXE only, good)
  409.  
  410.  
  411. 8. DIET (Generic)
  412.    Known: 1.00d, 1.02b, 1.10a, 1.20, 1.44, 1.45f
  413.    Diet is also capable of acting like STACKER -
  414.    such files are not supported by tron.
  415.    By Teddy Matsumoto.
  416.    (Compress, EXE & COM, very good)
  417.  
  418.  
  419. 9. SEA-AXE
  420.    Known: 2.0
  421.    There are not many files around of this antique.
  422.    The packed code is saved in an overlay area behind the sea-axe code.
  423.    By System Enhancement Associates
  424.    (Compress, .EXE only, old and less effective)
  425.  
  426.  
  427. 10. PGMPak (Generic)
  428.     Known: 1.15
  429.     Not easy to extract. There are some nice tricks used to make unpacking
  430.     harder, we couldn't use our normal unpacking routines.
  431.     PgmPak doesn't give you full memory, it also keeps its name in
  432.     the end of the compressed file as an overlay.
  433.     By Todor Todorov.
  434.     (Compress, .EXE, good)
  435.  
  436.  
  437. 11. OPTLink
  438.     This is the program is found on all norton programs.  We haven't found a
  439.     distributed version of this packer.
  440.  
  441.  
  442. 12. DeltaPack
  443.     Known: 1.0
  444.     Found on some bbs intros.
  445.     By ?
  446.     (Scramble, .?, easy to hack)
  447.  
  448.  
  449. -------------------------------------------------------------------------------
  450. Special thanks for the 32 bit part goes to TRAN of Renaissance for
  451. releasing his protected mode header to the public. Hello Tran, If you
  452. want to get a registered version of tron just write us a letter.
  453.  
  454. Other unprotecting Software that is worth to be used:
  455.  
  456. Xopen v3.20  (Ady/Israel)
  457.               opens really a lot, well done Ady, what about a gratis
  458.               registration for us? You will get a registered version of
  459.               TRON too...nice to see that there are other people which
  460.               know what they do.
  461.  
  462. Unp v3.30    (Ben Castricum/The Netherlands)
  463.               This program is freeware and has a lot of features!
  464.               Hello ben, your unpacker is the one liked most by us.
  465.               Just look at tron.
  466.  
  467. StickBuster v2.40r (Lihor Cohen/Israel)
  468.             We believe to have seen this program under another name a
  469.             few months before...
  470.             From all unpackers we discovered, StickBuster is the one
  471.             which handles the most compressors, but these are mainly
  472.             very antique or only spreaded in local areas.
  473.             Hey Lihor, work on your user-interface!!!
  474.  
  475.  
  476. ───────────────────────────────────────────────────────────────────────────────
  477. 10. Greetings
  478. ───────────────────────────────────────────────────────────────────────────────
  479.  
  480. to all who find this program usefull! always nice...
  481.  
  482.                  AND TO
  483.  
  484.      Enzo, Sonic, Maroon, Fox, Ant, D.E.L., Byte
  485.      Stefan Kuhn (Bitblaster BBS)
  486.      Lihor Cohen, Ben Castricum, Ady,
  487.      Mc Afee, Pkware, Id Software,
  488.      Waldi, Tobias, Sandra, Torte, Tina, Michaela,
  489.      Sascha, Udo, Jörg, Steffen, Baur, Rissman, Gairing, Forki (TG'94)
  490.      Homeless Hotdogs, Slayer, Metallica, Real 2 Real, Design, Marusha etc.
  491.  
  492. msg to MDS: legends_will_never_die
  493.  
  494. Smilesoft-Productions
  495.  
  496. Michael B., Alexander G., Teddy,
  497.  
  498. If you are a coder of an expanding or decrypting program please
  499. send your program to us, of course you'll get a registered version
  500. of tron without paying money.
  501.  
  502. Send all bugreports to me! Use the adress below. We are happy
  503. about every letter we receive from you! Just write what you think.
  504.  
  505. Michael Bauder
  506. 73230 Kirchheim
  507. Kornbergstraße 14
  508. Germany
  509.  
  510.